package com.ttg.model.pojo;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ttg.common.config.LocalDateTimeDeserializer;
import com.ttg.common.config.LocalDateTimeSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 个人客户存款账户表
 *
 * @author zhy
 * @date 2024/04/25 14:40
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tbl_qyyx_deposit_account_detail")
public class QyyxDepositAccountDetail implements Serializable {


    private static final long serialVersionUID = 840012397361316232L;
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 数仓客户号
     */
    @TableField(value = "cst_sc_id")
    private String cstScId;
    /**
     * 客户号
     */
    @TableField(value = "cst_id")
    private String cstId;
    /**
     * 客户名
     */
    @TableField(value = "cst_name")
    private String cstName;
    /**
     * 账号（介质号）
     */
    @TableField(value = "account_no")
    private String accountNo;
    /**
     * 账户ID
     */
    @TableField(value = "account_id")
    private String accountId;
    /**
     * 账户序号
     */
    @TableField(value = "account_serial_no")
    private String accountSerialNo;
    /**
     * 开户金额
     */
    @TableField(value = "open_account_amount")
    private BigDecimal openAccountAmount;
    /**
     * 余额
     */
    @TableField(value = "amount")
    private BigDecimal amount;
    /**
     * 产品类型（如定活两便）
     */
    @TableField(value = "product_type")
    private String productType;
    /**
     * 定期/活期标识(ch:活期td:定期)
     */
    @TableField(value = "deposit_flag")
    private String depositFlag;
    /**
     * 存款期限
     */
    @TableField(value = "deposit_term")
    private Integer depositTerm;
    /**
     * 开户渠道
     */
    @TableField(value = "open_act_channel")
    private String openActChannel;
    /**
     * 营销客户经理工号
     */
    @TableField(value = "cst_manager_no")
    private String cstManagerNo;
    /**
     * 子账户开户网点号
     */
    @TableField(value = "account_agent_no")
    private String accountAgentNo;
    /**
     * 起息日
     */
    @TableField(value = "init_begin_date")
    private String initBeginDate;
    /**
     * 到期日
     */
    @TableField(value = "due_date")
    private String dueDate;
    /**
     * 开户类型（新开/部提）
     */
    @TableField(value = "open_account_type")
    private String openAccountType;
    /**
     * 销户日期
     */
    @TableField(value = "ccount_status")
    private String ccountStatus;
    /**
     * 账户状态代码
     */
    @TableField(value = "cancel_account_date")
    private String cancelAccountDate;




    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime updateTime;

}
